Integrated circuit layout (IC layout) is the representation of an integrated circuit in terms of planar geometric shapes (or polygons) which correspond to the patterns of metal, oxide, or semiconductor layers that make up the components of the integrated circuit. When the interaction of the many chemical, thermal, and photographic variables are known and carefully controlled, the performance and size of a final integrated circuit depends largely on the positions and interconnections of these planar geometric shapes. In earlier days, layout engineers did IC layout by hand using opaque tapes and films. More modernly, layout engineers do IC layout with the aid of software tools including layout editors or electronic design automation (EDA) applications. The manual operation of choosing and positioning the planar geometric shapes is informally known as “polygon pushing”.
Once the IC layout is complete, it is: (a) translated into an industry standard binary format such as Graphic Data System II (GDSII) stream format; (b) processed using transformational operations including set operations and geometric operations such as Boolean operations on polygons and sizing operations (e.g., expansion and shrinkage); and (c) verified, e.g., using verification processes such as Design Rule Checking (DRC) and Layout Versus Schematic (LVS) verification. Then the IC layout is transferred to a semiconductor foundry in a step sometimes referred to as “tape-out”. Ultimately, the semiconductor foundry uses data resulting from the IC layout to generate the photolithographic photomasks that control semiconductor device fabrication.
It will be appreciated that an error in an IC layout and its resulting photomask can be extremely costly in terms of both time and resources. Consequently, there is a need to catch any errors in an IC layout as early as possible, including errors with regard to transformational operations. The embodiments described below include functionality for catching such errors, along with additional functionality which is widely applicable to this and other fields.